fix: do not support 7702/5792 for 4337 AA accounts#2507
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
| ]) | ||
| ); | ||
|
|
||
| const eoaMiddleware = providerAsMiddleware(eoaProvider, overrideEip5792And7702MethodsHandlers); |
There was a problem hiding this comment.
no. don't change provider as middleware.
add these above middlewares under the engine below in between aaMiddleware and eoaMiddleware
| const engine = JRPCEngineV2.create({ middleware: [switchChainMiddleware, forwardMiddleware] }); | ||
| const engineProvider = providerFromEngineV2(engine) as IProvider; | ||
|
|
||
| return { |
There was a problem hiding this comment.
so that metamaskConnector can handle provider requests from the dapp
There was a problem hiding this comment.
since we wrapped the evmProvider with the engine, we will need to handle/forward the rest of the events, requests right?
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit b199357. Configure here.

Jira Link
https://consensyssoftware.atlassian.net/browse/EMBED-371?atlOrigin=eyJpIjoiYTBiYTU3ODRjNWU5NDY0ZjlhYjNlM2Y2YWM3ZWEzM2EiLCJwIjoiaiJ9
Description
ProviderErrors.Unsupported) for the Eip7702/5792 calls from 4337 AA accounts.How has this been tested?
Screenshots (if appropriate)
Types of changes
Checklist
Note
Medium Risk
Touches wallet RPC routing for AA and MetaMask chain switching/event propagation; mis-wiring could break chain switches or provider listeners, though scope is connector/provider middleware rather than auth or payments.
Overview
ERC-4337 account abstraction now rejects EIP-7702 and EIP-5792 wallet RPCs via dedicated middleware that returns an explicit unsupported-method error, instead of letting those calls fall through to the EOA provider. AA setup also fails fast when the active chain config is missing.
The MetaMask connector wraps the EVM provider in a small JRPC engine so
wallet_switchEthereumChainis handled through the MetaMask EVM client (with chain metadata from core options), while wallet events from the underlying provider are bridged to the engine provider consumers see. Connect/wait logic tolerates Solana-only setups without an EVM client, and event listeners are torn down on cleanup.The Vue x402 demo points at the dev x402 endpoint, switches to Base Sepolia using configured EIP-155 chains, and improves switch-chain console output.
Reviewed by Cursor Bugbot for commit e9312b1. Bugbot is set up for automated code reviews on this repo. Configure here.